home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 November: Tool Chest / Dev.CD Nov 98 TC.toast / Sample Code / Snippets / Development Tools & Languages / Dialogs / UDialogs.cp < prev    next >
Encoding:
Text File  |  1995-02-06  |  3.3 KB  |  162 lines  |  [TEXT/MPS ]

  1. // Copyright © 1991 Apple Computer, Inc. All rights reserved.
  2.  
  3. #ifndef __UDIALOGS__
  4. #include "UDialogs.h"
  5. #endif
  6.  
  7. #ifndef __TOOLUTILS__
  8. #include <ToolUtils.h>
  9. #endif
  10.  
  11. #ifndef __FONTS__
  12. #include <Fonts.h>
  13. #endif
  14.  
  15. #ifndef __RESOURCES__
  16. #include <Resources.h>
  17. #endif
  18.  
  19. #ifndef __PACKAGES__
  20. #include <Packages.h>
  21. #endif
  22.  
  23. #ifndef __UMEMORY__
  24. #include <UMemory.h>
  25. #endif
  26.  
  27. #ifndef __USCROLLER__
  28. #include <UScroller.h>
  29. #endif
  30.  
  31. #ifndef __UVIEWSERVER__
  32. #include <UViewServer.h>
  33. #endif
  34.  
  35. #ifndef __UDRAWINGENVIRONMENT__
  36. #include <UDrawingEnvironment.h>
  37. #endif
  38.  
  39. #ifndef __UFAILURE__
  40. #include <UFailure.h>
  41. #endif
  42.  
  43. #ifndef __UGEOMETRY__
  44. #include <UGeometry.h>
  45. #endif
  46.  
  47. #ifndef __UMACAPPUTILITIES__
  48. #include <UMacAppUtilities.h>
  49. #endif
  50.  
  51. #ifndef __MENUS__
  52. #include <Menus.h>
  53. #endif
  54.  
  55. #ifndef __UMENUMGR__
  56. #include <UMenuMgr.h>
  57. #endif
  58.  
  59. #ifndef __OSUTILS__
  60. #include <OSUtils.h>
  61. #endif
  62.  
  63. #ifndef __UWINDOW__
  64. #include <UWindow.h>
  65. #endif
  66.  
  67.  
  68. #ifndef __UCONTROL__
  69. #include <UControl.h>
  70. #endif
  71.  
  72.  
  73. #define kSignature                'MOOF'            // qpplication signature
  74. #define kFileType                   'SF01'            // file type code used for document files created by this application
  75.  
  76. const short    kModelessID       =    2000;
  77.     
  78.  
  79. //----------------------------------------------------------------------------
  80. #undef Inherited
  81. #define Inherited TApplication
  82.  
  83. #pragma segment AInit
  84. DefineClass(TDialogsApplication, TApplication);
  85.  
  86. void TDialogsApplication::IDialogsApplication()
  87. {
  88.  
  89.     TWindow*    aWindow;
  90.     
  91.     this->IApplication(kFileType, kSignature);
  92.     
  93.     fLaunchWithNewDocument = false;        // Suppress the creation of a new document at launch
  94.  
  95.     // make sure the linker doesn't strip out the code for TModelessView 
  96.     macroDontDeadStrip(TModelessView);
  97.  
  98.     // create our modeless dialog
  99.     FailNIL(aWindow = gViewServer->NewTemplateWindow(kModelessID, NULL));
  100.     aWindow->Open();
  101.  
  102. }
  103.  
  104.  
  105. //------------------------------------------------------------------------------
  106.  
  107. #pragma segment AInit
  108. void TDialogsApplication::HandleFinderRequest()
  109. {
  110.     // don't open application by clicking on file
  111. }
  112.  
  113.  
  114. //------------------------------------------------------------------------------
  115. #undef Inherited
  116. #define Inherited TDialogView
  117.  
  118. #pragma segment ARes
  119. DefineClass(TModelessView, TDialogView);
  120.  
  121. void TModelessView::DoEvent(EventNumber    eventNumber,
  122.                                      TEventHandler*    source, 
  123.                                      TEvent*        event)// override 
  124. {
  125.     TEditText *anEditText1 = (TEditText *) this->FindSubView('edit');
  126.     TEditText *anEditText2 = (TEditText *) this->FindSubView('edi2');
  127.             
  128.     switch (eventNumber){
  129.         case mRadioHit:        // do something with the radio button selection
  130.         {
  131.            if (source == (this -> FindSubView('sel1')))
  132.             {
  133.  
  134.                 anEditText2->DimState(TRUE,kDontRedraw);        // disable
  135.                 anEditText2->ViewEnable(FALSE,kRedraw);
  136.                 anEditText2->StopEdit();
  137.                 
  138.                 anEditText1->DimState(FALSE,kDontRedraw);        // enable
  139.                 anEditText1->ViewEnable(TRUE,kRedraw);
  140.                 anEditText1->StartEdit(TRUE);
  141.             }
  142.             
  143.             else if (source == (this -> FindSubView('sel2')))
  144.  
  145.             {
  146.                anEditText1->DimState(TRUE,kDontRedraw);        // disable
  147.                 anEditText1->ViewEnable(FALSE,kRedraw);
  148.                 anEditText1->StopEdit();
  149.                 
  150.                 anEditText2->DimState(FALSE,kDontRedraw);        // enable
  151.                 anEditText2->ViewEnable(TRUE,kRedraw);
  152.                 anEditText2->StartEdit(TRUE);
  153.             }            
  154.             break; // case mRadioHit
  155.         }
  156.      default: Inherited::DoEvent(eventNumber, source, event);
  157.  
  158.     }
  159. } // TModelessView::DoEvent
  160.  
  161.  
  162.